home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1994 November / macformat-018.iso / Utility Spectacular / Text / Emacs-1.12d folder / lisp / simula.elc < prev    next >
Encoding:
Text File  |  1993-11-09  |  16.9 KB  |  364 lines  |  [dELC/EMAC]

  1.  
  2. (defvar simula-label "^[A-Za-z_{|}]+:")
  3.  
  4. (defvar simula-CE "else\\b\\|when\\b\\|otherwise\\b")
  5.  
  6. (defvar simula-CB "end\\b\\|!\\|comment\\b")
  7.  
  8. (defvar simula-BE "end\\b")
  9.  
  10. (defvar simula-BB "begin\\b")
  11.  
  12. (defvar simula-FB "if\\b\\|while\\b\\|inspect\\b\\|for\\b")
  13.  
  14. (defvar simula-eol "
  15. ")
  16.  
  17. (defvar simula-eof "@")
  18.  
  19. (defvar simula-extended-form nil "\
  20. non-nil if want non-standard slowly (extended) form checking")
  21.  
  22. (defvar simula-mode-syntax-table nil "\
  23. Syntax table in simula-mode buffers.")
  24.  
  25. (defvar simula-mode-abbrev-table nil "\
  26. abbrev table in simula-mode buffers")
  27.  
  28. (defvar simula-indent-mode (quote simula-Nice-indent-mode))
  29.  
  30. (defvar Read-Simula-Keywords nil "\
  31. non-nil if read keywords already")
  32.  
  33. (define-abbrev-table (quote simula-mode-abbrev-table) nil)
  34.  
  35. (defvar Simula-Keyword-Abbrev-File "simula.defns" "\
  36. nil if not to load the Capitalize Keywords feature")
  37.  
  38. (defvar simula-mode-ignore-directives t "\
  39. Set to non nil if doesn't use % comment type lines.")
  40.  
  41. (if simula-mode-syntax-table nil (let ((table (make-syntax-table))) (modify-syntax-entry 10 "." table) (modify-syntax-entry 12 "." table) (modify-syntax-entry 34 "\"" table) (modify-syntax-entry 39 "\"" table) (modify-syntax-entry 40 "()" table) (modify-syntax-entry 41 ")(" table) (modify-syntax-entry 42 "." table) (modify-syntax-entry 43 "." table) (modify-syntax-entry 44 "." table) (modify-syntax-entry 45 "." table) (modify-syntax-entry 46 "_" table) (modify-syntax-entry 95 "w" table) (modify-syntax-entry 47 "." table) (modify-syntax-entry 58 "." table) (modify-syntax-entry 59 ">" table) (modify-syntax-entry 60 "." table) (modify-syntax-entry 61 "." table) (modify-syntax-entry 62 "." table) (modify-syntax-entry 91 "(]" table) (modify-syntax-entry 92 "." table) (modify-syntax-entry 93 ")[" table) (modify-syntax-entry 94 "." table) (modify-syntax-entry 124 "w" table) (modify-syntax-entry 123 "w" table) (modify-syntax-entry 125 "w" table) (modify-syntax-entry 33 "<" table) (setq simula-mode-syntax-table table)))
  42.  
  43. (defvar simula-mode-map nil "\
  44. Keymap used in simula mode.")
  45.  
  46. (if simula-mode-map nil (setq simula-mode-map (make-sparse-keymap)) (define-key simula-mode-map "    " (quote simula-indent)) (define-key simula-mode-map "
  47. " (quote simula-abbrev-expand-and-lf)) (define-key simula-mode-map "" (quote backward-delete-char-untabify)))
  48.  
  49. (defun simula-mode nil "\
  50. This is a mode intended to support program development in Simula.." (interactive) (byte-code "œà◊ àÿ!àŸâà⁄âà€√!à‹âà€ƒ!à›âàfi
  51. !à€Δ!àflâà€«!àâà€»!à‡âà€…!à â    à€À!à·â à€Ã!à‚â à€Õ!à„â
  52. à€√!à‰â
  53. à€Œ!àœâà€–!à âàâàÖ¢ âàÉôœÇ¢ÂÊÁèà âàË!àÈÍ!á" [simula-mode-map major-mode mode-name comment-column end-comment-column simula-mode-syntax-table paragraph-start paragraph-separate indent-line-function require-final-newline t comment-start comment-end comment-start-skip parse-sexp-ignore-comments nil comment-multi-line local-abbrev-table simula-mode-abbrev-table Simula-Keyword-Abbrev-File abbrev-mode Read-Simula-Keywords simula-indent-mode kill-all-local-variables use-local-map simula-mode "Simula" make-local-variable 40 75 set-syntax-table "^[     ]*$\\|\\f" simula-null-indent "! " " ;" "!+ *" "! *" err (byte-code "¡!á" [Simula-Keyword-Abbrev-File read-abbrev-file] 2) ((file-error (byte-code "¿ê¡¬!à¡√!ࡃ!à¡≈!à¡Δ!à¡«!à¡»!ëá" ["*Help*" princ "Simula Mode can't load the Capitalize Simula " "Keyword abbrev file
  54.  
  55. " "Please do one of the following:
  56. " "1. Include this line in your .emacs file:
  57. " "   (setq Simula-Keyword-Abbrev-File nil)
  58. " "2. Make a decent abbrev file by your self
  59. " "3. Mail obh@ifi.uio.no requesting the abbrev file
  60. "] 9))) funcall run-hooks simula-mode-hook] 18))
  61.  
  62. (defun simula-null-indent nil (interactive) (byte-code "¿á" [nil] 1))
  63.  
  64. (setq simula-seen-FE nil)
  65.  
  66. (setq simula-form-starter nil)
  67.  
  68. (setq simula-form nil)
  69.  
  70. (setq simula-FB-hpos nil)
  71.  
  72. (setq simula-BB-hpos nil)
  73.  
  74. (setq simula-hpos nil)
  75.  
  76. (setq simula-lf-count nil)
  77.  
  78. (setq simula-stack nil)
  79.  
  80. (setq simula-assemble nil)
  81.  
  82. (setq simula-debug nil)
  83.  
  84. (defun simula-push (v) (byte-code "Ö    
  85.     Bâá" [simula-assemble simula-stack v] 2))
  86.  
  87. (defun simula-pop nil (byte-code "@Aâàá" [simula-stack] 3))
  88.  
  89. (defun simula-inside-simple-string nil (byte-code "ä¬√!ànÉ
  90. ¿Ç,ƒn?Ö$≈Δ!à¬√!à    TâàÇà«    »\"…U))á" [nil count skip-chars-backward "^\"
  91. '" 1 forward-char -1 % 2 0] 6))
  92.  
  93. (defun ignore-simula-directives (pedohejform &optional pedohejway) (interactive) (byte-code "ƒàÉ «    !Ç[«    !`» àg…U?É ƒÇ-oÜ%mÉ,ƒÇ-≈ÖNÉ:  Ç=ÀÃ!à«    !âà`âà» àÇàg…U?ÖX bà
  94. *á" [simula-mode-ignore-directives pedohejform pedohejval pedohejhere nil t pedohejway funcall beginning-of-line 37 forward-line forward-char -1] 10))
  95.  
  96. (defun maybe-skip-simula-comment nil (byte-code "`ƒƒƒΔ«!à»… #àhâÀUÜ
  97. ÃUÖD
  98. ÃUÉ.ÕŒ #Ç:œ–!à`VÖ:bà»… #àÇà`UÉOƒÇh—UÉ]“”!àÇ‘”!à’÷!ÉkÇ`âà»◊ #âà ÖÜhâÀUÜÜ
  99. ÃUÖ¶
  100. ÃUÉóÕŒ #Çöœ–!à»◊ #âàÇwà ÖÛh—UÉ¡    Éπ≈Çæ“”!àƒÇÛ‘”!àƒÜÛ’÷!ɇ    ?ÉÿƒÇ›‘–!à≈ÇÛ’ÿ!ÉÍ`Ç΃âà‘–!à≈Ö˚ƒàÇoà’Ÿ!ÉÇ    É    bàÇbàƒ,á" [here last-end tmp tmp1 nil t ignore-simula-directives (lambda nil (byte-code "¿¡e¬#à√ Ö¿ƒ!à¿¡e¬#àÇá" [search-backward ";" 0 simula-inside-simple-string "\""] 8)) re-search-forward "^%\\|\"\\|!\\|\\bcomment\\b\\|\\bend\\b" 0 37 34 search-forward "\"" forward-line 1 33 forward-char -1 forward-word looking-at "comment" "^%\\|\"\\|!\\|\\bcomment\\b\\|\\bend\\b\\|\\bwhen\\b\\|\\belse\\b\\|\\botherwise\\b" "end" "!\\|\\bcomment"] 20))
  101.  
  102. (defun save-simula-BB-BE nil (byte-code "`¬Δ!à« à ?Öiâà`âà» àΔ…`VÉ'¬Ç- Tâà
  103.  ÀÃ!à`VÉ<¬ÇB Tâà
  104. R!àΔ    !à    b*á" [end beg nil simula-BB-hpos simula-lf-count simula-eol simula-push simula-back-level end-of-line "BEGIN" " o " forward-line 2] 10))
  105.  
  106. (defun simula-back-level nil (interactive) (byte-code "¡à¡o?ÖK√ƒ!ÖK≈Δ!É,« É(≈»!Ö#… !à¬Ç)¡ÇK« âÉG≈À!É=¬ÇDbààà¬ÇKàà¬ÖS¡àÇ)à≈Δ!?Ö_ÕŒ!á" [end-comment nil t ignore-simula-directives (lambda nil (byte-code "¡¬e√#àƒ Ö≈Δ!࡬e√#àÇà¿á" [t re-search-backward "\\bend\\b\\|\\bbegin\\b" 0 simula-inside-simple-string search-backward "\""] 8)) looking-at "begin" maybe-skip-simula-comment "end" forward-word 1 "comment\\|!" simula-back-level error "No matching BEGIN !!!"] 12))
  107.  
  108. (defun simula-find-indent (&optional predict-next) (interactive) (byte-code "…à¡◊………ÿ àŸ⁄!à€ Ö!‹›!Ö!fifl!à◊¡……
  109. … … …
  110. …`DâàÖ‰
  111. Tâà‡·!àoÉY…âLJ‚hâ!„UÉifi‰!Çl‰!àlÉ™Ê!ÉÅ…âàÂfl!ÇßÁ
  112. S\"ÖêTâàâàË`T!àŸÈ!àË!àË`!LJ ÍUɵΠLJ ÏUɔ‰!àÌÓe¡#ÉÕ‰!Ç–Ô!LJ ÒUÉflfi‰!LJ ÚUÉH€ âà ÖÒ‹Û!É˚Ù T!ÇEflVÖ
  113. SUÉ…âàı ÇE ?É…Ç%fifl!àÙ !à…ÜE
  114. flUÉ5¡â ÇE◊VÖEË`T!à…âLJ‹!ÉÇ…â àflVÉbı âÇ?Öt`ˆPD¡âà?ÖiâLJ‹!Ö瀠âÉöfifl!àÙ !LJ‹!ɶ˜ Ç‡
  115. ?ÖØ‹!Ö‡¯`˘◊!\"âàiâ
  116. à˙ â?Ö–…
  117. …â
  118. à É⁄…LJ…âà˚ àÇBภâ à
  119. ÉÖ˜ Ö˝
  120. ˛ A\"Dz âà
  121. -á" [not-stop t simexp tmp ch indent simula-lf-count simula-assemble simula-BB-hpos nil simula-FB-hpos simula-hpos simula-seen-FE simula-form simula-form-starter simula-stack simula-eof simula-eol simula-BB simula-CE simula-BE simula-FB predict-next 0 end-of-line ignore-simula-directives (lambda nil (byte-code "¿¡!á" [skip-chars-backward "     "] 2)) maybe-skip-simula-comment looking-at "end" forward-word 1 skip-chars-backward "     " char-syntax 119 -1 forward-char numberp /= simula-push (lambda nil (byte-code "¿¡!á" [skip-chars-backward "     
  122. "] 2)) 34 save-simula-string 39 search-backward "'" error "Unbalanced Character Quote" 58 59 "!\\|comment" simula-parsed-over simula-stack-trick "/n o " save-simula-BB-BE buffer-substring match-end Simula-Form-Handler beginning-of-line current-simula-indentation setcdr Simula-Default-Handler] 48))
  123.  
  124. (defun simula-parsed-over (from) (byte-code "√ƒ!à≈!àäΔ à`WÖ≈    !à
  125. Tâ)à≈`!á" [from simula-eol simula-lf-count skip-chars-backward "    " simula-push end-of-line] 6))
  126.  
  127. (defun simula-stack-trick nil (byte-code "ƒ≈!àΔ«¿\"à
  128.     Ö-»    @!Ö`    @VÉ%    √âÇ)    AâàÇ )à√á" [t pointer simula-stack nil forward-line 1 ignore-simula-directives (lambda nil (byte-code "¿¡!àg¬UÖ√ƒd≈#à¿¡!àÇá" [skip-chars-forward "     
  129. " 33 search-forward ";" 0] 6)) numberp] 6))
  130.  
  131. (defun save-simula-string nil (byte-code "¡`!à¬√e\"àhƒUÉ¿Ç≈Δ!à¡`!à«»!á" [nil simula-push skip-chars-backward "^\"
  132. " 34 error "UnBalanced String Quote \". " forward-char -1] 6))
  133.  
  134. (defun Simula-Form-Handler nil (byte-code "√ƒ≈    !ΔQ!É«!Ǭ)á" [handler simula-form-starter nil intern-soft "Simula-" capitalize "-Handler" funcall] 5))
  135.  
  136. (defun Simula-Default-Handler nil (byte-code "Ö    ?Ö
  137. Ü ?É «DÇ»
  138. !Δâàá" [simula-seen-FE simula-extended-form simula-BB-hpos simula-form simula-hpos Simula-Default-Form nil (0 0) Simula-Default-Form-Handler] 4))
  139.  
  140. (defun Simula-Default-Form-Handler (form) (byte-code "ƒ à≈    !?ɬÇ-n?ÉäΔ à« )Ç!« »@!ABâà)á" [indentation form nil simula-hpos simula-collapse-stack get-indent-amount beginning-of-line current-simula-indentation simula-indent-calc] 8))
  141.  
  142. (defun simula-collapse-stack nil (byte-code "    É`Ç
  143. Δ  
  144. ÖJ
  145. @;É
  146. AâÇFÉ4«
  147. »
  148. @\"\"àƒ
  149. AâÇF
  150. @âà«
  151.  
  152. A@\"à…
  153.  
  154. AA\"àÇ
  155. à À \"`
  156. Dâ*á" [last-beg simula-assemble pointer simula-stack nil simula-form simula-pop setcar buffer-substring setcdr apply concat] 8))
  157.  
  158. (defun get-indent-amount (indent-form-list) (byte-code "É*ƒ@@    \"É#
  159. Ö≈êΔ@@«    Q!ëà@AÇ'»A!Ç+√á" [indent-form-list simula-form simula-debug nil string-match "* forms *" print "<---->" get-indent-amount] 6))
  160.  
  161. (defun current-simula-indentation nil (byte-code "¡!Ö    ¬!à√ƒ!àiá" [simula-label looking-at re-search-forward skip-chars-forward "     "] 4))
  162.  
  163. (defun simula-indent-calc (amount) (byte-code "É6@A@≈    UÉ
  164. Ç1 ÖΔ    UÉ\" Ç1 Ö)«    UÉ0 Ç1
  165. \\)Ç7
  166. á" [amount from simula-hpos simula-FB-hpos simula-BB-hpos 0 1 2] 3))
  167.  
  168. (defun simula-indent-line (to) (byte-code "Δ àg«UÉ
  169. ¿Çd»
  170. \"…
  171. \" 
  172. !ÖOÀ
  173. !ài
  174. VÉ/ÃÕâÇOŒœÕ\"ài
  175. VÖ=–Õ!à
  176. iZâà…
  177. \"»
  178. \"âàŒœ \"àŒ—    \"à“`”‘d\"à`\"*á" [nil space to tab-width tabs simula-label beginning-of-line 37 % / looking-at re-search-forward 0 1 insert-char 9 backward-delete-char 32 delete-region skip-chars-forward "     "] 16))
  179.  
  180. (defun simula-abbrev-expand-and-lf (arg) (interactive "p") (byte-code "¬à√ àƒ≈Δ\"à«»!àä…¡!)  àÀÃ!àÕgŒ\"Ö&œ@!à–Δ!àœ—A@!!)á" [indent t nil expand-abbrev insert-char 10 1 forward-char -1 simula-find-indent beginning-of-line skip-chars-forward "     " /= 33 simula-indent-line forward-line simula-indent-calc] 12))
  181.  
  182. (defun simula-indent nil (interactive) (byte-code "¿à¡ä¬ )@!á" [nil simula-indent-line simula-find-indent] 3))
  183.  
  184. (defun Simula-While-Handler nil (byte-code "¡!á" [Simula-While-Form Simula-Default-Form-Handler] 2))
  185.  
  186. (defun Simula-If-Handler nil (byte-code "¡!á" [Simula-If-Form Simula-Default-Form-Handler] 2))
  187.  
  188. (defun Simula-Inspect-Handler nil (byte-code "¡!á" [Simula-Inspect-Form Simula-Default-Form-Handler] 2))
  189.  
  190. (defun Simula-For-Handler nil (byte-code "¡!á" [Simula-For-Form Simula-Default-Form-Handler] 2))
  191.  
  192. (defun simula-Nice-indent-mode nil (interactive) (byte-code "≈àΔâà«âà»âà…âà âá" [Simula-While-Form Simula-Default-Form Simula-If-Form Simula-For-Form Simula-Inspect-Form nil (("while.*begin.*end;@" (0 0) (1 0)) ("while .*do.*begin
  193. .*
  194. .*end;@" (1 0) (0 0)) ("while .*do.*begin
  195. .*@" (1 3) (1 3)) ("while .*do.*begin.*@" (0 0) (1 3)) ("while .*do
  196. .*begin
  197. .*
  198. .*end;@" (2 0) (0 0)) ("while .*do
  199. .*begin
  200. .*@" (2 3) (2 3)) ("while .*do
  201. .*begin@" (1 3) (2 3)) ("while .*do
  202. .*;@" (1 3) (0 0)) ("while .*do
  203. .*@" (1 3) (1 3)) ("while .*do@" (0 0) (1 3))) (("begin.*end;@" (0 0) (0 0)) ("while .*do.*begin
  204. .*
  205. .*end;@" (0 0) (0 0)) ("begin.*@" (0 0) (2 3)) ("begin
  206. .*
  207. .*end.*@" (0 0) (0 0)) ("begin
  208. .*end;@" (2 3) (0 0)) ("begin
  209. .*
  210. .*end;@" (2 0) (0 0)) ("begin
  211. .*@" (2 3) (2 3)) ("begin
  212. .*
  213. @" (2 3) (2 3)) ("begin
  214. *.*
  215. *.*@" (2 3) (2 3)) (".*;@" (0 0) (0 0)) ("
  216. .*;@" (0 0) (0 0)) ("
  217. .*@" (0 0) (0 0)) ("." (0 0) (0 3))) (("if.*begin.*end;@" (0 0) (1 0)) ("if .*begin.*@" (0 0) (2 3)) ("if .*else@" (0 0) (0 0)) ("if .*;@" (0 0) (0 0)) ("if .*@" (0 0) (0 3)) ("if .*begin.*
  218. .*@" (2 3) (2 3)) ("if .*
  219. .*;@" (0 3) (0 0)) ("if .*
  220. .*begin.*end.*@" (0 3) (0 0)) ("if .*
  221. .*begin.*@" (0 3) (2 3)) ("if .*else
  222. .*@" (0 3) (0 0)) ("if .*
  223. .*begin.*
  224. .*@" (2 3) (2 3)) ("if .*
  225. .*begin.*
  226. .*
  227. .*end.*@" (2 0) (0 0)) ("if .*begin.*
  228. .*
  229. .*end;.*@" (0 0) (0 0)) ("if .*begin.*
  230. .*
  231. .*end@" (2 0) (0 0)) ("else if.*@" (0 0) (0 3)) ("else@" (0 0) (0 3)) ("else.*begin.*@" (0 0) (2 3)) ("else.*begin.*
  232. .*@" (2 3) (2 3)) ("else.*begin.*
  233. .*
  234. .*end;@" (2 0) (0 0)) ("else .*;@" (0 0) (0 0)) ("else
  235. .*begin@" (0 3) (2 3)) ("else
  236. .*begin
  237. .*@" (2 3) (2 3)) ("else
  238. .*begin
  239. .*
  240. .*end.*@" (2 0) (0 0))) (("for .*begin.*end;@" (0 0) (1 0)) ("for .*do.*;@" (0 0) (0 0)) ("for .*do@" (0 0) (1 3)) ("for .*do
  241. .*begin@" (1 3) (2 3)) ("for .*do
  242. .*begin
  243. .*@" (2 3) (2 3)) ("for .*do
  244. .*begin
  245. .*
  246. .*end.*@" (1 3) (0 0)) ("for .*do
  247. .*;@" (1 3) (0 0)) ("for .*do
  248. .*begin.*
  249. .*end.*@" (1 3) (0 0)) ("for .*do.*begin@" (0 0) (1 3)) ("for .*do.*begin
  250. .*end.*@" (1 3) (0 0)) ("for .*do.*begin
  251. .*@" (1 3) (1 3)) ("for .*do.*begin
  252. .*
  253. .*end.*@" (1 0) (0 0))) (("inspect .*do.*;@" (0 0) (0 0)) ("inspect .*do@" (0 0) (1 3)) ("inspect .*do
  254. .*begin.*end.*@" (1 3) (0 0)) ("inspect .*do
  255. .*begin.*@" (1 3) (2 3)) ("inspect .*do
  256. .*begin
  257. .*end.*@" (2 3) (0 0)) ("inspect .*do
  258. .*begin
  259. .*
  260. .*end.*@" (2 0) (0 0)) ("inspect .*do.*begin@" (0 0) (2 3)) ("inspect .*do.*begin
  261. .*end.*@" (2 3) (0 0)) ("inspect .*do.*begin
  262. .*@" (2 3) (2 3)) ("inspect .*do.*begin
  263. .*
  264. .*end.*;@" (2 0) (0 0)) ("inspect .*;@" (0 0) (0 0)) ("inspect .*@" (0 0) (0 3)) ("otherwise@" (0 0) (0 3)) ("otherwise
  265. .*begin@" (0 3) (2 3)) ("otherwise
  266. .*begin
  267. .*end.*@" (2 3) (0 0)) ("otherwise
  268. .*begin
  269. .*@" (2 3) (2 3)) ("otherwise
  270. .*begin
  271. .*
  272. .*end.*@" (2 0) (0 0)) ("otherwise .*begin .*end.*@" (0 0) (0 0)) ("otherwise .*begin.*@" (0 0) (2 3)) ("otherwise .*begin
  273. .*end.*@" (2 3) (0 0)) ("otherwise .*begin
  274. .*@" (2 3) (2 3)) ("otherwise .*begin
  275. .*
  276. .*end.*@" (2 0) (0 0)) ("when .*do@" (0 3) (0 6)) ("when .*do.*;@" (0 3) (0 0)) ("when .*do.*@" (0 3) (0 3)) ("when .*do
  277. .*begin@" (0 6) (2 3)) ("when .*do
  278. .*begin
  279. .*end;@" (2 3) (0 0)) ("when .*do
  280. .*begin
  281. .*@" (2 3) (2 3)) ("when .*do
  282. .*begin
  283. .*
  284. .*end;@" (2 0) (0 0)) ("when .*do
  285. .*begin
  286. .*
  287. .*end@" (2 0) (0 3)) ("when .*do
  288. .*begin .*end;@" (0 6) (0 0)) ("when .*do
  289. .*begin .*end@" (0 6) (0 3)))] 2))
  290.  
  291. (defun simula-Simed-indent-mode nil (interactive) (byte-code "≈àΔâà«âà»âà…âà âá" [Simula-While-Form Simula-Default-Form Simula-If-Form Simula-For-Form Simula-Inspect-Form nil (("while .*do.*begin
  292. .*
  293. end;@" (1 0) (0 0)) ("while .*do.*begin
  294. .*@" (1 3) (1 3)) ("while .*do.*begin.*@" (0 0) (1 3)) ("while .*do
  295. .*begin
  296. .*
  297. .*end;@" (1 0) (0 0)) ("while .*do
  298. .*begin
  299. .*@" (2 3) (2 3)) ("while .*do
  300. .*begin@" (1 0) (1 3)) ("while .*do
  301. .*;@" (1 3) (0 0)) ("while .*do
  302. .*@" (1 3) (1 3)) ("while .*do@" (0 0) (1 0))) (("begin.*end;@" (0 0) (0 0)) ("begin.*@" (0 0) (2 3)) ("begin
  303. .*
  304. end" (0 0) (0 0)) ("begin
  305. .*end;@" (2 3) (0 0)) ("begin
  306. .*@" (2 3) (2 3)) ("begin
  307. *.*
  308. *.*@" (2 3) (2 3)) (".*;@" (0 0) (0 0)) ("
  309. .*;@" (0 0) (0 0)) ("
  310. .*@" (0 0) (0 0)) ("." (0 0) (0 3))) (("if .*begin.*@" (0 0) (0 3)) ("if .*else@" (0 0) (0 0)) ("if .*;@" (0 0) (0 0)) ("if .*@" (0 0) (0 0)) ("if .*begin.*
  311. .*@" (0 3) (0 3)) ("if .*
  312. .*;@" (0 3) (0 0)) ("if .*
  313. .*begin.*end.*@" (0 0) (0 0)) ("if .*
  314. .*begin.*@" (0 0) (0 3)) ("if .*else
  315. .*@" (0 0) (0 0)) ("if .*
  316. .*begin.*
  317. .*@" (0 3) (0 3)) ("if .*
  318. .*begin.*
  319. .*
  320. .*end.*@" (0 0) (0 0)) ("if .*begin.*
  321. .*
  322. .*end;.*@" (0 0) (0 0)) ("if .*begin.*
  323. .*
  324. .*end@" (0 0) (0 0)) ("else if.*@" (0 0) (0 0)) ("else@" (0 0) (0 0)) ("else.*begin.*@" (0 0) (0 3)) ("else.*begin.*
  325. .*@" (0 3) (0 3)) ("else.*begin.*
  326. .*
  327. .*end;@" (0 0) (0 0)) ("else .*;@" (0 0) (0 0)) ("else
  328. .*begin@" (0 0) (0 3)) ("else
  329. .*begin
  330. .*@" (0 3) (0 3)) ("else
  331. .*begin
  332. .*
  333. .*end.*@" (0 0) (0 0))) (("for .*do.*;@" (0 0) (0 0)) ("for .*do@" (0 0) (0 0)) ("for .*do
  334. .*begin@" (0 0) (0 3)) ("for .*do
  335. .*begin
  336. .*@" (0 3) (0 3)) ("for .*do
  337. .*begin
  338. .*
  339. .*end.*@" (0 0) (0 0)) ("for .*do
  340. .*;@" (0 3) (0 0)) ("for .*do
  341. .*begin.*
  342. .*end.*@" (0 0) (0 0)) ("for .*do.*begin@" (0 0) (0 3)) ("for .*do.*begin
  343. .*end.*@" (0 3) (0 0)) ("for .*do.*begin
  344. .*@" (0 3) (0 3)) ("for .*do.*begin
  345. .*
  346. .*end.*@" (0 0) (0 0))) (("inspect .*do.*;@" (0 0) (0 0)) ("inspect .*do@" (0 0) (0 0)) ("inspect .*do
  347. .*begin.*end.*@" (0 3) (0 0)) ("inspect .*do
  348. .*begin.*@" (0 0) (0 3)) ("inspect .*do
  349. .*begin
  350. .*end.*@" (0 0) (0 0)) ("inspect .*do
  351. .*begin
  352. .*
  353. .*end.*@" (0 0) (0 0)) ("inspect .*do.*begin@" (0 0) (0 3)) ("inspect .*do.*begin
  354. .*end.*@" (0 3) (0 0)) ("inspect .*do.*begin
  355. .*@" (0 3) (0 3)) ("inspect .*do.*begin
  356. .*
  357. .*end.*;@" (0 0) (0 0)) ("inspect .*;@" (0 0) (0 0)) ("inspect .*@" (0 0) (0 0)) ("otherwise@" (0 0) (0 0)) ("otherwise
  358. .*begin@" (0 0) (0 3)) ("otherwise
  359. .*begin
  360. .*end.*@" (0 3) (0 0)) ("otherwise
  361. .*begin
  362. .*@" (0 3) (0 3)) ("otherwise
  363. .*begin
  364. .*
  365. .*end.*@" (0 0) (0 0)) ("otherwise .*begin .*end.*@" (0 0) (0 0)) ("otherwise .*begin.*@" (0 0) (0 3)) ("otherwise .*begin
  366. .*end.*@" (0 3) (0 0)) ("otherwise .*begin
  367. .*@" (0 3) (0 3)) ("otherwise .*begin
  368. .*
  369. .*end.*@" (0 0) (0 0)) ("when .*do@" (0 0) (0 0)) ("when .*do.*;@" (0 0) (0 0)) ("when .*do.*@" (0 0) (0 0)) ("when .*do
  370. .*begin@" (0 0) (0 3)) ("when .*do
  371. .*begin
  372. .*end;@" (0 3) (0 0)) ("when .*do
  373. .*begin
  374. .*@" (0 3) (0 3)) ("when .*do
  375. .*begin
  376. .*
  377. .*end;@" (0 0) (0 0)) ("when .*do
  378. .*begin
  379. .*
  380. .*end@" (0 0) (0 0)) ("when .*do
  381. .*begin .*end;@" (0 3) (0 0)) ("when .*do
  382. .*begin .*end@" (0 3) (0 0)))] 2))
  383.